home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software of the Month Club 2000 October
/
Software of the Month - Ultimate Collection Shareware 277.iso
/
pc
/
PROGRAMS
/
UTILITY
/
WINLINUX
/
DATA1.CAB
/
usr_-_Usr_Files
/
BIN
/
LSDEV
< prev
next >
Wrap
Text File
|
1999-09-17
|
2KB
|
66 lines
#!/usr/bin/perl
#
# lsdev.pl
#
# Created by Sander van Malssen <svm@ava.kozmix.cistron.nl>
#
# Date: 1996-01-22 19:06:22
# Last Change: 1998-05-31 15:26:58
#
# $Id: lsdev.pl,v 1.4 1998/05/24 14:53:37 svm Exp svm $
#
# MAIN #######################################################################
open (IRQ, "</proc/interrupts") || die "can't open /proc/interrupts";
while (<IRQ>) {
next if /^[ \t]*[A-Z]/;
chop;
if (/PIC/) {
$n = (@line = split());
} else {
$n = (@line = split(' [ +] '));
}
$name = $line[$n-1];
$device{$name} = $name;
@tmp = split(':', $line[0]);
$tmp0 = int($tmp[0]);
$irq{$name} = "$irq{$name} $tmp0";
}
close (IRQ);
open (DMA, "</proc/dma") || die "can't open /proc/dma";
while (<DMA>) {
chop;
@line = split(': ');
@tmp = split (/[ \(]/, $line[1]);
$name = $tmp[0];
$device{$name} = $name;
$dma{$name} = "$dma{$name}$line[0]";
}
close (DMA);
open (IOPORTS, "</proc/ioports") || die "can't open /proc/ioports";
while (<IOPORTS>) {
chop;
@line = split(' : ');
@tmp = split (/[ \(]/, $line[1]);
$name = $tmp[0];
$device{$name} = $name;
$port{$name} = "$port{$name} $line[0]";
}
close (IOPORTS);
printf ("%-16s %4s%6s %s\n------------------------------------------------\n",
"Device", "DMA", "IRQ", " I/O Ports");
foreach $name (sort { uc($a) cmp uc($b) } keys %device) {
printf ("%-16s %4s%6s %s\n",
$name, $dma{$name}, $irq{$name}, $port{$name});
}
# The End ####################################################################
# Local variables:
# rm-trailing-spaces: t